package sg.edu.nus.iss.ooad.jass.entity;

import java.util.Collection;
import java.util.Hashtable;
import java.util.Properties;

/**
 *
 * Identifier for JASS Entity.
 *
 * @author Isak Rabin (HT082193M)
 * @version 1.0
 * @since 1.0
 *
 * Development Environment : Netbeans IDE v6.7
 * Name of the File        : IJASSEntity.java
 * Creation / Modification History
 *         Isak Rabin        20-Sep-2009        Created
 *
 */
public interface IJASSEntity {

        /**
         * Get value of ID
         * @return Value of ID
         */
        public String getID();

        /**
         * Set the value of ID
         * @param id New value of ID
         */
        public void setID(String id);

        /**
         * Read properties file and convert it to JASS Entity
         * @param properties
         * @return
         */
        public Hashtable<String, IJASSEntity> fromJASSPropertiesFormat(Properties properties);

        /**
         * Convert Entity to JASS Properties Format.
         * @param collections Collections of JASS Entity
         * @return JASS Properties Format
         */
        public Properties toJassPropertiesFormat(Collection<IJASSEntity> collections);
}
